I have been following the growth of mobile platform over the last one year (or so). More recently, I started developing some applications for mobile platform. One of the first questions that I had to answer was: what platform should I target? Should I choose the OS (Symbian or Windows Mobile or Linux) or the development environment (Linux or BREW or vendor-specific environment (e.g., Nokia's Series 60 platform))? Have the platforms become robust and efficient enough so that the developers can move higher the stack? Or, is it better to work at the OS-level?
Given the current state of rapid evolution of the mobile platforms, these are not easy questions to answer.
It is easier to choose between J2ME, BREW, and other development environments. J2ME seems to be more popular and more widely adopted by various handset manufacturers. So, unless one is developing a device-specific software (or an application that has stringent performance requirements -- such as the advanced mobile games), it is better to utilize the J2ME platform.
The problem, of course, is that except for the basic J2ME functionality, mobile phones don't support "more advanced" features. However, packages such as JSR 75 (PIM and file connection APIs) are beginning to see better availability. So, these should supercede the lower-level APIs providing similar functionality (such as Nokia's PIM APIs).
That was about the platform. The OS decision, however, is much tougher. The matters are made worse by the fact that the market is fairly "evenly" fragmented. As per a recent article "Linux storms mobile SW industry" (Feb 2005):
Symbian had around 50 percent of the smartphone market in the second half of 2004, with Microsoft and PalmSource each taking 20 percent, according to market research group, Canalys.
In other words, Linux is not yet a popular mobile OS platform. However, the same article mentioned that 20 handset vendors are developing Linux-based handsets. Further, Motorola -- which was the first company to release a Linux-based phone -- seems to be working on 8 to 10 models that are due to be released in 2005.
Linux got a major boost when NEC and Panasonic announced that they would use Linux to develop their 3G phones in November 2004. As per an article in Infoconomy:
Even though another major phone maker Motorola had announced in 2003 that it was abandoning the Symbian operating system in favour of Linux-based handsets, it was only with NEC and Panasonic's decision that they would be making devices for the hugely popular Japanese NTT DoCoMo service that observers concurred that mobile Linux was now likely to reach critical mass.
But, how can Linux succeed in grabbing market share from Symbian, Windows Mobile, and PalmSource? As per the CIOL article mentioned above:
The claim to fame for Linux is that it gives handset makers much greater freedom to tweak the software, because it is not owned by any one company. It is also much cheaper, going below $1 per phone if used in large volumes. Symbian charges $5 per handset if more than 2 million phones are shipped.
If a range of necessary software applications is added to the phone, such as a calendar, email, games and media players, the software bill per phone is $3 to $5 per Linux phone and $10 to $15 for smartphones running on Symbian or Microsoft, Nord said. [Haavard Nord is the CEO of TrollTech. Trolltech and MontaVista Software are the two main players in Linux for mobile devices.]
Will $7 - $10 savings offered by Linux have any impact? It should -- because $25 is considered an important price point by industry experts. If the phone prices were to drop from $40 (being attempted by vendors such as Motorola) to $25, it will help broaden the user base much more. [As per a PC World article, Sunil Mittal (CEO, Bharti Televentures -- promoters of Airtel mobile service in India) has been quoted to have said that $40 phone will get "50 to 100 million more customers". Further, eight operators have undertaken to purchase the $30 phones, including Bharti (India), Globe Telecom (Philippines), Maxis Communications (Malaysia), Orascom Telecom (Egypt) and Singapore Telecom.]
Linux has other reasons in it's favour: mobile operator's desire to uniquely brand their offerings. Windows Mobile and Symbian don't favour customized features and have strict rules that govern interface design. As per the Infoconomy article, once again:
Networks such as DoCoMo have long insisted on customers taking proprietary handsets with customised features. And Linux, by offering access to the platform source code, is one way in which manufacturers are able to meet this need, in both the look and feel and the functionality of their smartphones or other portable devices. That is not the situation with Microsoft's Windows Mobile and Symbian. As a result, phones running the Microsoft operating system always have to bear the hallmark of Windows, no matter how much an operator might want to customise the interface to reflect a different brand.
Slightly more flexible than Windows, Symbian has two main interface options - known as Nokia Series 60 and UIQ - that allow greater customisation. For example, Vodafone's recently launched 3G handset from SonyEricsson encompasses much more of a Vodafone identity than a Symbian look and feel to it.
It is not that everybody is convinced about Linux's rise as mobile platform. Outside of phones, Linux-based devices have failed to make inroads into the PDA market. Infoconomy article quotes Gartner's mobile computing analyst Ken Delaney:
"You have Microsoft and Palm as PDA platforms, and maybe RIM [the company behind the BlackBerry]. People want to be in one of those communities, because of the software." And without software, neither PDAs or smartphones will thrive.
Though Nokia claims that development on Linux is expensive, I am not yet convinced. Monta Vista's development environment (called DevRocket) is based on Eclipse -- but does not support any specific mobile features (such as a mobile emulator, obfuscator, over-the-air provisioning, etc.). These are, however, provided by the J2ME wireless toolkit itself. Trolltech does provide tools such as Qtopia, which is application and UI framework for mobile phones and PDAs. (Qtopia, unfortunately, requires C++ programming.)
The Infoconomy article lists three other hurdles for the Linux in the mobile space:
- The desktop PC and server markets have relatively few hardware platform choices, whereas there are dozens, if not hundreds, in the mobile phone market. This means that developers planning to write software for Linux would have to test their programs on literally thousands of different hardware combinations.
- The open nature of Linux - cited as a key advantage in the server space - is not so useful when it comes to devices such as smartphones.
- The rapid turnover in handset models, with manufacturers typically releasing new phones every six months, gives operating systems with tightly-defined interface guidelines and a good set of APIs an advantage over looser, albeit more flexible alternatives.
I need to think to about these points and will comments on these at a later time.
In any case, the cost advantage and the ability to allow mobile operators to provide customized features are strongly in favour of the Linux mobile platform. Further, based on the support from Motorola, NEC, Panasonic, Sharp (ships Linux-based Zaurus PDA series), and Samsung (targeting Chinese market with Linux phones), we can expect to see substantial increase of the Linux mobile phones over the next few years. As per the CIOL article:
Smartphones are just 4 percent of the total market today, but that is expected to grow to 16 percent in 2009 according to ARC research. Linux is really the only independent standard software alternative that can replace the bulk of proprietary and archaic software currently used in cheaper phones.
Further, consultants at research firm Strategy Analytics expect worldwide sales of Linux smartphones to reach around 1.1 million units worldwide this year (in contrast to the 14 million that use Symbian).